home *** CD-ROM | disk | FTP | other *** search
/ Aminet 40 / Aminet 40 (2000)(Schatztruhe)[!][Dec 2000].iso / Aminet / util / cdity / MRQ.lha / MRQ / Install < prev    next >
Text File  |  2000-10-16  |  25KB  |  662 lines

  1. ;************************************************************
  2. ;* Installation script for MRQ, the MUI requester improver  *
  3. ;* $VER: MRQ_Install 2.5 (15-Oct-00)                        *
  4. ;* © 1998-2000 by Matthias Bethke <Matthias.Bethke@gmx.net> *
  5. ;*                                                          *
  6. ;* ToDo: - uninstall option                                 *
  7. ;*       - logfile                                          *
  8. ;************************************************************
  9.  
  10. ; $Id: Install 1.2 2000/10/15 18:18:25 msbethke Exp msbethke $
  11. ;
  12. ; $Log: Install $
  13. ; Revision 1.2  2000/10/15 18:18:25  msbethke
  14. ; New boolean option: SINGLE_IS_OK, for MRQ V2.1
  15. ; Some small bugfixes, mostly to do with uninitialized variables
  16. ; (thanks to Jens Tröger for InstallerNG that showed them!)
  17. ; Some typos corrected
  18. ;
  19. ; Revision 1.1  2000/01/25 16:54:29  msbethke
  20. ; Initial revision
  21. ;
  22.  
  23.  
  24. (procedure F_delay                        ;debugging :)
  25.     (set #delayval 10000)
  26.     (until
  27.         (<= #delayval 0)
  28.         (set #delayval (- #delayval 1))
  29.     )
  30. )
  31.  
  32. (procedure F_expertmsg _msg
  33.     (if
  34.         (> @user-level 1)
  35.         (message (cat "\n\n" _msg))
  36.     )
  37. )
  38.  
  39. (procedure F_expertworking _msg
  40.     (if
  41.         (> @user-level 1)
  42.         (working "\n\n" _msg)
  43.     )
  44. )
  45.  
  46. (procedure F_GetDir _prompt _help _default
  47.     (set #Where
  48.         (askdir
  49.             (prompt _prompt)
  50.             (help _help)
  51.             (default _default)
  52.         )
  53.     )
  54. )
  55.  
  56. (procedure F_findconfig
  57.     (set #Configfile "")
  58.     (iconinfo (dest #Installname) (gettooltype "CONFIGFILE" "#Configfile"))
  59.     (if    (not (strlen #Configfile))
  60.         (
  61.         (F_GetDir #P_WConfig #H_WConfig #WhereMRQ)
  62.         (set #Configfile (tackon #Where "MRQ.config"))
  63.         )
  64.     )
  65. )
  66.  
  67. (procedure F_findimages
  68.     (set #WhereImages "")
  69.     (iconinfo (dest #Installname) (gettooltype "IMAGES" "#WhereImages"))
  70.     (if    (not (strlen #WhereImages))
  71.         (
  72.         (F_GetDir #P_WImages #H_WImages #WhereMRQ)
  73.         (set #WhereImages (tackon #Where "MRQ-images"))
  74.         )
  75.     )
  76. )
  77.  
  78. (procedure F_copyconfig
  79.     (F_expertmsg (cat #M_CopyingConfig #Configfile))
  80.     (copyfiles
  81.         (source #cfgsrc)
  82.         (dest (pathonly #Configfile))
  83.         (newname "MRQ.config")
  84.         (optional askuser)
  85.     )
  86. )
  87.  
  88. (procedure F_copymrq icon
  89.     (if icon
  90.         (
  91.             (F_expertmsg (cat #M_CopyingMRQ #M_CopyingMRQIcon #M_To #WhereMRQ))
  92.             (copyfiles (source "MRQ") (infos) (dest #WhereMRQ) (optional askuser))
  93.         )
  94.         (
  95.             (F_expertmsg (cat #M_CopyingMRQ #M_To #WhereMRQ #M_KeepingMRQIcon))
  96.             (copyfiles (source "MRQ") (dest #WhereMRQ) (optional askuser))
  97.         )
  98.     )
  99. )
  100.  
  101.  
  102. (procedure F_InstallNImcc
  103.     (copylib (prompt #M_InstallNImcc) (help #H_InstallNImcc) (source "MUI/Libs/NewImage.mcc") (dest "MUI:libs/MUI") (confirm) (optional askuser))
  104. )
  105.  
  106. (procedure F_ConfigMRQ
  107.     (if (not #WhereImages) (F_findimages))
  108.     (set #CfgOpts1
  109.         (askoptions
  110.             (prompt #P_ConfigOpts1)
  111.             (choices "pCENTERTEXT" "FRONTSCREEN" "MOUSEREQ" "NORTPATCH" "SAMEWIDTH" "SINGLEFRAME" "SIZEABLE" "TRANSPARENCY" "DEFAULTICON" "SINGLE IS OK" "DEBUG")
  112.             (help #H_ConfigOpts1)
  113.             (default 912)
  114.         )
  115.     )
  116.     (set #CfgOpts2
  117.         (askoptions
  118.             (prompt #P_IButtons)
  119.             (help #H_IButtons)
  120.             (choices #C_UseIMB1 #C_UseIMB2)
  121.             (default 3)
  122.         )
  123.     )
  124.     (if (in #CfgOpts2 0 1)
  125.         (
  126.             (set #IButtonSet
  127.                 (askchoice
  128.                     (prompt #P_IButtonSet)
  129.                     (help #H_IButtonSet)
  130.                     (choices #C_SelectIBSet1 #C_SelectIBSet2 #C_SelectIBSet3)
  131.                     (default 0)
  132.                 )
  133.             )
  134.             (if (= #IButtonSet 0)
  135.                 (
  136.                     (set #IButton_Yes (tackon #WhereImages "MRQwin_Yes.brush"))
  137.                     (set #IButton_No (tackon #WhereImages "MRQwin_No.brush"))
  138.                     (set #IButton_Cancel (tackon #WhereImages "MRQwin_Cancel.brush"))
  139.                 )
  140.                 (if (= #IButtonSet 1)
  141.                     (
  142.                         (set #IButton_Yes (tackon #WhereImages "MRQ_Yes.brush"))
  143.                         (set #IButton_No (tackon #WhereImages "MRQ_No.brush"))
  144.                         (set #IButton_Cancel (tackon #WhereImages "MRQ_Cancel.brush"))
  145.                     )
  146.                     (
  147.                         (set #IButton_Yes
  148.                             (askfile(prompt (#P_AskCustomIB #W_Yes))    (help #H_AskCustomIB)    (default #WhereImages))
  149.                         )
  150.                         (set #IButton_No
  151.                             (askfile(prompt (#P_AskCustomIB #W_No))    (help #H_AskCustomIB)    (default #WhereImages))
  152.                         )
  153.                         (set #IButton_Cancel
  154.                             (askfile(prompt (#P_AskCustomIB #W_Cancel))    (help #H_AskCustomIB)    (default #WhereImages))
  155.                         )
  156.                     )
  157.                 )
  158.             )
  159.             (if (in #CfgOpts2 1)
  160.                 (set #IButtonsByTextStr
  161.                     (cat
  162.                         (askstring
  163.                             (prompt (#P_IBBT #W_Yes))
  164.                             (help #H_IBBT)
  165.                             (default #IBBTDefaultString_Yes)
  166.                         ) ","
  167.                         (askstring
  168.                             (prompt (#P_IBBT #W_No))
  169.                             (help #H_IBBT)
  170.                             (default #IBBTDefaultString_No)
  171.                         ) ","
  172.                         (askstring
  173.                             (prompt (#P_IBBT #W_Cancel))
  174.                             (help #H_IBBT)
  175.                             (default #IBBTDefaultString_Cancel)
  176.                         )
  177.                     )
  178.                 )
  179.             )
  180.         )
  181.     )
  182.     (set #ImageQuality
  183.         (select
  184.             (askchoice
  185.                 (prompt #P_ImageQuality)
  186.                 (help #H_ImageQuality)
  187.                 (choices #C_ImageQuality1 #C_ImageQuality2 #C_ImageQuality3 #C_ImageQuality4)
  188.                 (default 2)
  189.             )
  190.             "low" "medium" "high" "best"
  191.         )
  192.     )
  193.  
  194.     (set #UseAfterPatch 
  195.         (askbool
  196.             (prompt #P_UseAfterPatch)
  197.             (help #H_AfterPatch)
  198.             (choices #W_Yes #W_No)
  199.             (default 0)
  200.         )
  201.     )
  202.     (if #UseAfterPatch
  203.         (set #AfterPatch
  204.             (askfile
  205.                 (prompt #P_AfterPatch)
  206.                 (help #H_AfterPatch)
  207.                 (default "AssignWedge")
  208.             )
  209.         )
  210.         (set #AfterPatch "")
  211.     )
  212.  
  213.     (set #loop 1)
  214.     (set #AvoidTasks "ramlib")
  215.     (while #loop
  216.         (set #AvoidTasksS
  217.             (askstring
  218.                 (prompt (cat #P_AvoidTasks "\"" #AvoidTasks "\""))
  219.                 (help #H_AvoidTasks)
  220.             )
  221.         )
  222.         (if (or (patmatch "# " #AvoidTasksS) (= #AvoidTasksS ""))
  223.             (set #loop 0)
  224.             (set #AvoidTasks (cat #AvoidTasks (if #AvoidTasks "|" "") #AvoidTasksS))
  225.         )
  226.     )
  227.  
  228.     (F_SetTooltypes)
  229. )
  230.  
  231. (procedure F_SetTooltypes
  232.     (working #M_SettingAllTT)
  233.  
  234.     (F_Booltype "CENTERTEXT"        (in #CfgOpts1 0))
  235.   (F_Booltype "FRONTSCREEN"        (in #CfgOpts1 1))
  236.     (F_Booltype "MOUSEREQ"            (in #CfgOpts1 2))
  237.     (F_Booltype "NORTPATCH"            (in #CfgOpts1 3))
  238.     (F_Booltype "SAMEWIDTH"            (in #CfgOpts1 4))
  239.     (F_Booltype "SINGLEFRAME"        (in #CfgOpts1 5))
  240.     (F_Booltype "SIZEABLE"            (in #CfgOpts1 6))
  241.     (F_Booltype "TRANSPARENCY"    (in #CfgOpts1 7))
  242.     (F_Booltype "DEFAULTICON"        (in #CfgOpts1 8))
  243.     (F_Booltype "SINGLE_IS_OK"    (in #CfgOpts1 9))
  244.     (F_Booltype "DEBUG"                    (in #CfgOpts1 10))
  245.  
  246.     (F_SetTT "QUALITY" #ImageQuality)
  247.  
  248.     (F_ProcessTT "AFTERPATCH" #AfterPatch #UseAfterPatch)
  249.  
  250.     (F_ProcessTT "AVOIDTASKS" #AvoidTasks #AvoidTasks)
  251.  
  252.     (if (in #CfgOpts2 0 1)
  253.         (
  254.             (F_SetTT "IMG_YES" #IButton_Yes)
  255.             (F_SetTT "IMG_NO" #IButton_No)
  256.             (F_SetTT "IMG_CANCEL" #IButton_Cancel)
  257.  
  258.             (F_ProcessTT "IBUTTONSBYTEXT" #IButtonsByTextStr (in #CfgOpts2 1))
  259.         )
  260.         (
  261.             (working #W_Unsetting #W_IBTT)
  262.             (F_RemTT "IMG_YES")
  263.             (F_RemTT "IMG_NO")
  264.             (F_RemTT "IMG_CANCEL")
  265.             (F_RemTT "IBUTTONSBYTEXT")
  266.         )
  267.     )
  268. )
  269.  
  270.  
  271. (procedure F_Booltype _name _onoff
  272.     (F_ProcessTT _name "1" _onoff)
  273. )
  274.  
  275. (procedure F_ProcessTT _name _value _onoff
  276.     (if _onoff
  277.         (F_SetTT _name _value)
  278.         (F_RemTT _name)
  279.     )
  280. )
  281.  
  282. (procedure F_SetTT _name _value
  283.     (F_expertworking (cat #W_Setting #W_Tooltype ":\n" _name))
  284.     (tooltype (dest #Installname) (settooltype _name _value))
  285. ;    (F_delay)
  286. )
  287.  
  288. (procedure F_RemTT _name
  289.     (F_expertworking (cat #W_Unsetting #W_Tooltype ":\n" _name))
  290.     (tooltype (dest #Installname) (settooltype _name))
  291. ;    (F_delay)
  292. )
  293.  
  294.  
  295.  
  296. (procedure F_InstallMRQ
  297.     (F_GetDir #P_WInstall #H_WInstall "SYS:wbstartup")
  298.     (set #WhereMRQ #Where)
  299.     
  300.     (set @default-dest #WhereMRQ)
  301.     (set #Installname (tackon #WhereMRQ "MRQ"))
  302.     
  303.     (set #Oldversion (getversion #Installname))
  304.     (set #MRQVersion (getversion "MRQ"))
  305.     (set #OldVer (/ #Oldversion 65536))
  306.     (set #OldRev (- #Oldversion (* #OldVer 65536)))
  307.     (set #MRQVer (/ #MRQVersion 65536))
  308.     (set #MRQRev (- #MRQVersion (* #MRQVer 65536)))
  309.     (set #OldExists (or #OldVer #OldRev))
  310.     
  311.     (message (cat
  312.         (cat #M_VersionToInstall #MRQVer "." #MRQRev "\n\n")
  313.         (if #OldExists
  314.             (cat #M_InstalledVersion #OldVer "." #OldRev)
  315.             (#M_NoInstalledVer)
  316.         ))
  317.     )
  318.     
  319.     (F_findconfig)
  320.     (F_findimages)
  321.     
  322.     (set #CopyCfg
  323.         (if (exists #Configfile)
  324.             (askbool
  325.                 (prompt (cat #P_CopyCfg1 #Configfile #P_CopyCfg2))
  326.                 (help #H_CopyCfg)
  327.             )
  328.             1
  329.         )
  330.     )
  331.     
  332.     (if (exists #WhereImages)
  333.         (set #CheckNewImgs 
  334.             (askbool
  335.                 (prompt (cat #P_CheckImageDir #WhereImages " ?"))
  336.                 (help #H_CheckImageDir)
  337.                 (choices #C_CheckNewImgs1    #C_CheckNewImgs2)
  338.             )
  339.         )
  340.     )
  341.     
  342.     (complete 10)
  343.     
  344.     (working "Copying the MRQ executable")
  345.     (if #OldExists
  346.         (F_copymrq 0)
  347.         (
  348.             (F_copymrq 1)
  349.             (tooltype (dest #Installname) (settooltype "CONFIGFILE" #Configfile))
  350.             (tooltype (dest #Installname) (settooltype "IMAGES" #WhereImages))
  351.         )
  352.     )
  353.     
  354.     (complete 30)
  355.     
  356.     (if #CopyCfg (F_copyconfig))
  357.     
  358.     (complete 50)
  359.     
  360.     (if #CheckNewImgs
  361.         (
  362.             (foreach "MRQ-images" "#?.(ilbm|iff|brush|jpeg)"
  363.                 (
  364.                     (if    (not (exists (tackon #WhereImages @each-name)))
  365.                         (if (not (> @each-type 0))
  366.                             (
  367.                                 (F_expertmsg (cat #M_Copying1Img @each-name))
  368.                                 (copyfiles (source (tackon "MRQ-images" @each-name)) (dest #WhereImages) (optional askuser))
  369.                             ) 
  370.                         )
  371.                     )
  372.                 )
  373.             )
  374.             (F_expertmsg #M_ImgDirUp2D)
  375.         )
  376.         (if (not #OldExists)
  377.             (
  378.                 (F_expertmsg (cat #M_CopyingAllImages #WhereImages))
  379.                 (foreach "MRQ-images" "#?.(ilbm|iff|brush|jpeg)"
  380.                         (if (not (> @each-type 0))
  381.                             (copyfiles (source (tackon "MRQ-images" @each-name)) (dest #WhereImages) (optional askuser))
  382.                         )
  383.                 )
  384.             )
  385.         )
  386.     )
  387.     
  388.     (complete 70)
  389.     (F_InstallNImcc)
  390.     
  391.     (complete 80)
  392.     (if
  393.         (askbool
  394.             (prompt #P_ConfigureMRQ)
  395.             (help #H_PConfigureMRQ)
  396.         )
  397.         (F_ConfigMRQ)
  398.     )
  399.     
  400.     (complete 100)
  401. )
  402.  
  403.  
  404.  
  405.  
  406.  
  407. ;************** START **************
  408. (if (< @installer-version 2752524) (abort "This script requires Installer V42.12 or greater!"))
  409.  
  410. ; !4 NOVICEs
  411. (if (= @user-level 0) (set @user-level 1))
  412.  
  413. ;no english-only config available yet
  414. (if (= @language "english") (set #cfgsrc "MRQ.config") (set #cfgsrc "MRQ.config"))
  415.  
  416.  
  417. ;************** initialize variables **************
  418. (if (= @language "deutsch")
  419.     (
  420.     (set #W_Yes "Ja")
  421.     (set #W_No "Nein")
  422.     (set #W_Cancel "Abbruch")
  423.     (set #W_Install "Installieren")
  424.     (set #W_Configure "Konfigurieren")
  425.     (set #W_Setting "Setze ")
  426.     (set #W_Unsetting "Lösche ")
  427.     (set #M_Welcome "\n\nWillkommen zum Installationsprogramm für\n\nMRQ\n\nThe MUI requester improver")
  428.     (set #P_InstOrCfg "Was wollen Sie machen?")
  429.     (set #H_InstOrCfg (cat "\"" #W_Install "\" installiert MRQ komplett neu oder aktualisiert "
  430.     "eine vorhandene Version, danach kann das Programm konfiguriert werden\n\"" #W_Configure
  431.     "\" ändert nur die Tooltypes eines bereits installierten MRQ, ohne andere Dateien zu"
  432.     " verändern\n"))
  433.     (set #E_Need020 "MRQ braucht mindestens einen 68020-Prozessor!")
  434.     (set #P_WInstall "Wo soll MRQ installiert werden?")
  435.     (set #H_WInstall "Das eigentliche Programm wird in dieses Verzeichnis kopiert. Wenn MRQ beim Booten automatisch gestartet werden soll, übernehmen Sie einfach das voreingestellte Verzeichnis")
  436.     (set #P_WImages "Wohin sollen die Bilder kopiert werden?\n(ein Verzeichnis wird angelegt)")
  437.     (set #H_WImages "Der Installer wird ein Unterverzeichnis namens\n\"MRQ-Images\"\nim ausgewählten Verzeichnis anlegen und dorthin alle Bilder kopieren")
  438.     (set #P_WConfig "Wohin soll die Konfigurationsdatei kopiert werden?")
  439.     (set #H_WConfig "Eine kleine Datei namens \"MRQ.config\" wird in dieses Verzeichnis kopiert")
  440.     (set #M_NoInstalledVer "Bisher ist keine Version installiert")
  441.     (set #M_CopyingConfig "Kopiere Konfigurationsdatei nach ")
  442.     (set #M_CopyingMRQ "Kopiere MRQ ")
  443.     (set #M_To "nach ")
  444.     (set #M_CopyingMRQIcon "und sein Piktogramm ")
  445.     (set #M_KeepingMRQIcon "\n(das alte Piktogramm wird nicht überschrieben)")
  446.     (set #M_VersionToInstall "\n\nZu installierende Version: V")
  447.     (set #M_InstalledVersion "Bisher installierte Version: V")
  448.     (set #P_CopyCfg1 "Konfigurationsdatei ")
  449.     (set #P_CopyCfg2 " existiert schon.\nMit neuer Konfiguration überschreiben?")
  450.     (set #H_CopyCfg "Geben Sie an, ob Sie ihre alte Konfigurationsdatei mit der neuen aus dieser Distribution überschreiben wollen oder nicht")
  451.     (set #C_CheckNewImgs1 "Neue Bilder kopieren")
  452.     (set #C_CheckNewImgs2 "Nichts kopieren")
  453.     (set #P_CheckImageDir "\n\nSoll die Distribution auf neue Bilder überprüft werden?\nNeue Bilder würden installiert nach ")
  454.     (set #H_CheckImageDir (cat
  455.     "Wenn Sie \"" #C_CheckNewImgs1 "\" auswählen, überprüft der Installer, ob in der Distribution "
  456.     "neue Bilder enthalten sind, die noch nicht in ihrem Bilderverzeichnis installiert sind. "
  457.     "Sollte er welche finden, werden sie dorthin kopiert.\n\n\"" #C_CheckNewImgs2
  458.     "\" beläßt das Bilderverzeichnis genauso wie es jetzt ist."))
  459.     (set #M_CopyingAllImages "Kopiere alle Bilder nach ")
  460.     (set #M_Copying1Img "Kopiere Bild: ")
  461.     (set #M_ImgDirUp2D "Bilderverzeichnis ist auf dem aktuellen Stand!")
  462.     (set #P_ConfigureMRQ "Wollen Sie MRQ jetzt konfigurieren?")
  463.     (set #H_PConfigureMRQ "Sie können MRQs Grundparameter jetzt konfigurieren, indem Sie menügeführt einige Tooltypes setzen.")
  464.     (set #P_ConfigOpts1 "Allgemeine Optionen")
  465.     (set #H_ConfigOpts1 (cat
  466.     "Die Bedeutung der Optionen im einzelnen:\n\n"
  467.     "CENTERTEXT  : Alle Texte im Requester zentrieren (sonst nur bei einzeiligen Requestern)\n\n" 
  468.     "FRONTSCREEN: Requester immer auf dem vordersten Bildschirm öffnen (Hack!)\n\n"
  469.     "MOUSEREQ: Requester an der Mausposition statt zentriert auf dem Bildschirm öffnen\n\n"
  470.     "NORTPATCH: reqtools.library nicht patchen\n\n"
  471.     "SAMEWIDTH: Alle Knöpfe gleich breit darstellen (sieht besser aus)\n\n"
  472.     "SINGLEFRAME: Einen Rahmen um Bild und Text legen statt beide getrennt einzurahmen (Geschmackssache)\n\n"
  473.     "SIZEABLE: Requester mit Größengadget versehen (nicht empfehlenswert)\n\n"
  474.     "TRANSPARENCY: MUIs Pattern oder Hintergrundfarbe durchscheinen lassen, wo in Bildern Hintergrundfarbe (Nummer 0) vorkommt\n\n"
  475.     "DEFAULTICON: Wenn der Requestertext auf kein vorkonfiguriertes Muster paßt, kann MRQ das Icon des aufrufenden Programms (falls vorhanden) anzeigen, wenn diese Option gesetzt.\n\n"
  476.     "SINGLE_IS_OK: Wenn diese Option angschaltet ist, bekommen Requester mit nur einem Knopf grundsätzlich das \"OK\"-Image, auch wenn der Text auf ein anderes Muster passen würde\n\n"
  477.     "DEBUG: Debug-Konsole aufmachen. Nur zur Fehlersuche sinnvoll!\n\n"
  478.     ))
  479.     (set #P_IButtons "Imagebutton-Optionen")
  480.     (set #H_IButtons "Bitte lesen Sie die Anleitung für nähere Informationen zu den Imagebuttons!") 
  481.   (set #C_UseIMB1 "pKnöpfe mit Sybolen verwenden")
  482.     (set #C_UseIMB2 "Symbole nach Text auswählen")
  483.     (set #P_IButtonSet "Bitte wählen Sie ein Set Knöpfe aus")
  484.     (set #H_IButtonSet "Die zwei mitgelieferten Sets:\n\nM$ Windows-artig\nZiemlich groß, sehen ab Auflösungen von 800x600 gut aus\n\nKlein\nWie der Name sagt, ein kleineres Set für kleinere Auflösungen")
  485.     (set #C_SelectIBSet1 "pM$ Windoofs")
  486.     (set #C_SelectIBSet2 "Klein")
  487.     (set #C_SelectIBSet3 "Eigene (Bilder selbst auswählen)")
  488.     (set #P_AskCustomIB "Bitte ein Bild auswählen für \"%s\"")
  489.     (set #H_AskCustomIB "Wählen Sie hier ein Bild aus. Es darf jedes Format haben, für das Sie einen Datatype installiert haben")
  490.     (set #P_IBBT "Bitte geben Sie die Wörter für \"%s\" ein")
  491.     (set #H_IBBT (cat "Das entsprechende Bild wird auf den Imagebutton gelegt, wenn eins der"
  492.     "angegebenen Wörter auf dem Knopf gefunden wird.\nDas Format ist: beliebig viele Wörter (Groß-"
  493.     "/Kleinschreibung unwichtig), getrennt mit senkrechten Strichen/\"Pipes\" ('|')"))
  494.     (set #P_ImageQuality "Mit welcher Qualität sollen die Bilder auf den Bildschirm angepaßt werden?\n(Bei vielen freien Farben ist \"Low\" völlig ausreichend!)")
  495.     (set #H_ImageQuality (cat
  496.     "Diese Einstellung beeinflußt sowohl die Genauigkeit, mit der die \"Zeichenstifte\" für das Bild vom "
  497.     "System angefordert werden als auch den Dithermodus. \"Low\" dithert überhaupt nicht, was auch ein Vorteil sein kann!"))
  498.     (set #C_ImageQuality1 "pNiedrig")
  499.     (set #C_ImageQuality2 "Mittel")
  500.     (set #C_ImageQuality3 "Hoch")
  501.     (set #C_ImageQuality4 "Beste")
  502.     (set #P_UseAfterPatch "Soll nach dem Installieren der Patches ein weiteres Programm gestartet werden (z.B. AssignWedge)?")
  503.     (set #P_AfterPatch "Bitte das Programm auswählen!")
  504.     (set #H_AfterPatch (cat "Da MRQ die \"gepatchten\" Funktionen im Betriebssystem nicht nur "
  505.     "verbessert, sondern komplett ersetzt, funktionieren andere Programme evtl. nicht mehr "
  506.     "korrekt, die dieselben Funktionen bereits gepatcht haben.\nUm so etwas zu vermeiden, kann "
  507.     "MRQ ein Programm (oder Shellscript) starten, nachdem alle Patches installiert sind."))
  508.     (set #P_AvoidTasks "Bitte Namen von Tasks eingeben, die MRQ nicht benutzen sollen\n(leerer String zum Beenden)\nBisher: ")
  509.     (set #H_AvoidTasks (cat "Sollte MRQ mit irgendwelchen Programmen nicht richtig funktionieren, "
  510.     "können Sie ihn hiermit für bestimmte Tasks deaktivieren.\nBitte die Namen einzeln eingeben - "
  511.     "der Installer generiert automatisch das entsprechende Tooltype. AmigaDOS-Muster im Namen sind "
  512.     "erlaubt."))
  513.     (set #P_WInstalled "Wo ist MRQ auf ihrem System installiert?")
  514.     (set #H_WInstalled "Sie müssen MRQ installiert haben, bevor Sie es konfigurieren können. Wählen Sie nur das Verzeichnis aus, das Pogramm darin muß \"MRQ\" heißen und ein Piktogramm haben")
  515.     (set #E_CantFindMRQ "In diesem Verzeichnis ist kein Programm namens \"MRQ\"!")
  516.     (set #W_IBTT "Imagebutton-Tooltypes")
  517.     (set #W_IBBT "IBUTTONSBYTEXT")
  518.     (set #W_Tooltype "Tooltype")
  519.     (set #IBBTDefaultString_Yes "yes|ok|delete|retry|ja|sim")
  520.     (set #IBBTDefaultString_No "no|nein|não")
  521.     (set #IBBTDefaultString_Cancel "cancel|abort|abbr")
  522.     (set #M_SettingAllTT "Setze die Tooltypes")
  523.     (set #M_InstallNImcc "Installiere NewImage.mcc")
  524.     (set #H_InstallNImcc "NewImage.mcc ist eine MUI-Klasse, die zur Darstellung der Bilder unbedingt benötigt wird.")
  525.     )
  526. ; English texts
  527.     (
  528.     (set #W_Yes "Yes")
  529.     (set #W_No "No")
  530.     (set #W_Cancel "Cancel")
  531.     (set #W_Install "Install")
  532.     (set #W_Configure "Configure")
  533.     (set #W_Setting "Setting ")
  534.     (set #W_Unsetting "Deleting ")
  535.     (set #M_Welcome "\n\nWelcome to\n\nMRQ\n\nThe MUI requester improver")
  536.     (set #P_InstOrCfg "What do you want to do?")
  537.     (set #H_InstOrCfg (cat "\"" #W_Install "\" installs or upgrades MRQ and lets you configure "
  538.     "it afterwards.\n\"" #W_Configure "\" only changes MRQ's tooltypes without modifying any "
  539.     "other files\n"))
  540.     (set #E_Need020 "MRQ requires at least a 68020 CPU!")
  541.     (set #P_WInstall "Where do you want MRQ to be installed?")
  542.     (set #H_WInstall "The MRQ executable will be copied to this directory. If you want MRQ to start automatically on bootup, just accept the default.")
  543.     (set #P_WImages "Where do you want the images to be copied?\n(a directory will be created)")
  544.     (set #H_WImages "The installer will create a directory called\n\"MRQ-Images\"\ninside the directory you select and copy all images there")
  545.     (set #P_WConfig "Where do you want to keep the config file?\n")
  546.     (set #H_WConfig "A small file called \"MRQ.config\" will be copied to this directory")
  547.     (set #M_NoInstalledVer "There is no previously installed version")
  548.     (set #M_CopyingConfig "Copying config file as ")
  549.     (set #M_CopyingMRQ "Copying MRQ ")
  550.     (set #M_To "to ")
  551.     (set #M_CopyingMRQIcon "and its icon ")
  552.     (set #M_KeepingMRQIcon "\n(old icon will not be overwritten)")
  553.     (set #M_VersionToInstall "\n\nVersion to install: V")
  554.     (set #M_InstalledVersion "Version already installed: V")
  555.     (set #P_CopyCfg1 "Config file ")
  556.     (set #P_CopyCfg2 " already exists\nCopy new config anyway?")
  557.     (set #H_CopyCfg "Select whether you want to overwrite your old config with the new one or not")
  558.     (set #C_CheckNewImgs1 "Copy new images")
  559.     (set #C_CheckNewImgs2 "Don't copy anything")
  560.     (set #P_CheckImageDir "\n\nShould the distribution be checked for any new images that are not yet installed in ")
  561.     (set #H_CheckImageDir (cat
  562.     "If you select \"" #C_CheckNewImgs1 "\", installer will check for files in the distribution's MRQ-images "
  563.     "directory that you don't have in your image directory yet and copy them if it finds any.\n\n\""
  564.     #C_CheckNewImgs2 "\" leaves your image directory as it is."))
  565.     (set #M_CopyingAllImages "Copying all images to ")
  566.     (set #M_Copying1Img "Copying image: ")
  567.     (set #M_ImgDirUp2D "Image directory is up to date!")
  568.     (set #P_ConfigureMRQ "Do you want to configure MRQ now?")
  569.     (set #H_PConfigureMRQ "You may configure MRQ's basic behavior by setting some tooltypes now")
  570.     (set #P_ConfigOpts1 "General options")
  571.     (set #H_ConfigOpts1 (cat
  572.     "Here's the meaning of the individual options:\n\n"
  573.     "CENTERTEXT  : Center all text displayed in a requester\n\n" 
  574.     "FRONTSCREEN: Open requesters on frontmost screen (hack!)\n\n"
  575.     "MOUSEREQ: Open requesters at the mouseposition instead of centered on the screen\n\n"
  576.     "NORTPATCH: Do not patch reqtools.library\n\n"
  577.     "SAMEWIDTH: Make all buttons the same width (looks nicer)\n\n"
  578.     "SINGLEFRAME: Put a single frame around image and text instead of one around each\n\n"
  579.     "SIZEABLE: Make requesters sizeable (not recommended)\n\n"
  580.     "TRANSPARENCY: Let MUI's image background shine through where images have background color (#0)\n\n"
  581.     "DEFAULTICON: If the requester text matches none of the pre-configured patterns, MRQ can instead show the calling program's icon (given it exists), if this option is set.\n\n"
  582.     "SINGLE_IS_OK: If this switch is on, requesters with a single button will always get the \"OK\"-image, even when the button's text would match the pattern for a different one.\n\n"
  583.     "DEBUG: Open the debug-console. Only makes sense for tracking down errors!\n\n"
  584.     ))
  585.     (set #P_IButtons "Imagebutton options")
  586.     (set #H_IButtons "See the guide file for detailed info on the imagbutton options!") 
  587.   (set #C_UseIMB1 "pUse imagebuttons")
  588.     (set #C_UseIMB2 "Select by buttontext")
  589.     (set #P_IButtonSet "Select the set of buttons to use")
  590.     (set #H_IButtonSet "The two included button sets:\n\nM$ Windoze style\nQuite big, looks good on 800x600 and up\n\nSmall\nAs it says, a smaller set for lower resolutions")
  591.     (set #C_SelectIBSet1 "pM$ Windoze")
  592.     (set #C_SelectIBSet2 "Small")
  593.     (set #C_SelectIBSet3 "Custom (select images yourself)")
  594.     (set #P_AskCustomIB "Select an image for \"%s\"")
  595.     (set #H_AskCustomIB "Select an image file. This can be in any format you have a datatype for")
  596.     (set #P_IBBT "Select an imagebutton matchtext for \"%s\"")
  597.     (set #H_IBBT "The format of string is:\nAny number of words you want to match on, separated by pipe characters ('|')")
  598.     (set #P_ImageQuality "Select an image quality\n(with lots of free pens, \"low\" should be just fine!)")
  599.     (set #H_ImageQuality (cat
  600.     "This determines both the precision with which to allocate pens for the picture from the system and "
  601.     "the dither mode. If dithering makes images look bad on your"
  602.     "system, try \"Low\"."))
  603.     (set #C_ImageQuality1 "pLow")
  604.     (set #C_ImageQuality2 "Medium")
  605.     (set #C_ImageQuality3 "High")
  606.     (set #C_ImageQuality4 "Best")
  607.     (set #P_UseAfterPatch "Should another program (like AssignWedge) be started by MRQ after it has patched the OS?")
  608.     (set #P_AfterPatch "Please select the program!")
  609.     (set #H_AfterPatch (cat "For MRQ not only improves \"patched\" functions but completely "
  610.     "replaces them, other programs that happen to have patched the same functions are likely "
  611.     " not to work correctly with MRQ installed.\nTo get around this problem, MRQ can start one "
  612.     "such program (or shellscript) after it has applied its patches"))
  613.     (set #P_AvoidTasks "Please enter names of tasks that should not use MRQ, one at a time.\nEnter an empty string to quit\nCurrent pattern: ")
  614.     (set #H_AvoidTasks (cat "If MRQ should cause problems with some programs, you can deactivate "
  615.     "it here for certain tasks. Please enter them one at a time, the installer will automatically "
  616.     "generate the correct tooltype.\nYou may use AmigaDOS patterns here."))
  617.     (set #P_WInstalled "Where is MRQ installed on your system?")
  618.     (set #H_WInstalled "You need to have MRQ installed before you can configure it. Select only the directory, the executable must be called \"MRQ\" and have an icon")
  619.     (set #E_CantFindMRQ "There is no file called \"MRQ\" in this directory!")
  620.     (set #W_IBTT "imagebutton tooltypes")
  621.     (set #W_IBBT "IBUTTONSBYTEXT")
  622.     (set #W_Tooltype "tooltype")
  623.     (set #IBBTDefaultString_Yes "yes|ok|delete|retry")
  624.     (set #IBBTDefaultString_No "no")
  625.     (set #IBBTDefaultString_Cancel "cancel|abort")
  626.     (set #M_SettingAllTT "Setting tooltypes")
  627.     (set #M_InstallNImcc "Installing NewImage.mcc")
  628.     (set #H_InstallNImcc "NewImage.mcc is a MUI-class which is required for MRQ to render its images.")
  629.     )
  630. )    
  631.  
  632.  
  633. ;************** work starts **************
  634. (message #M_Welcome)
  635. (welcome)
  636.  
  637. (set #CPU (database "cpu"))
  638. (if (< #CPU 68020) (abort #E_Need020))
  639.  
  640. (if
  641.     (askchoice
  642.         (prompt #P_InstOrCfg)
  643.         (help #H_InstOrCfg)
  644.         (choices (cat "p" #W_Install) #W_Configure)
  645.         (default 0)
  646.     )
  647.     (
  648.         (F_GetDir #P_WInstalled #H_WInstalled "SYS:wbstartup")
  649.         (set #WhereMRQ #Where)
  650.         (set @default-dest #WhereMRQ)
  651.         (set #Installname (tackon #WhereMRQ "MRQ"))
  652.         (if (exists #Installname)
  653.             (
  654.                 (set #WhereImages 0)
  655.                 (F_ConfigMRQ)
  656.             )
  657.             (message #E_CantFindMRQ)
  658.         )
  659.     )
  660.     (F_InstallMRQ)
  661. )
  662.